<?php
defined('SYSPATH') OR die('No Direct Script Access');
session_name('curriculo');
@session_start();
include "application/classes/validator/ValidadorDeFormularioDeDeficiencia.php";
include "application/classes/model/Deficiencia.php";
include "application/classes/visualizacao/FormularioDeDeficiencia.php";
include "application/classes/model/DificuldadeDevidoDeficienciaIntelectual.php";

Class Controller_GerenciadorDeDeficiencia extends Controller_TemplatePadrao
{

	public $errors = array();
	public $camposDoFormulario;
	public $sheets = array('reset' => 'screen', 'main' => 'screen');
	public $formularioDeDeficiencia;

	function action_index(){
		$_SESSION['pagina_corrente'] = "deficiencia";
		if(isset($_SESSION['deficiencia'])){
			$deficiencias = unserialize($_SESSION['deficiencia']);			
			$this->formularioDeDeficiencia = new FormularioDeDeficiencia($deficiencias);
		}
		else{
			$this->formularioDeDeficiencia = new FormularioDeDeficiencia();
		}

		$this->carregarFormulario();
	}

	public function carregarFormulario(){
		$ko3_inner               = array();
		$ko3                     = array();
		$this->template->title   = 'Psicopuc WWW Ver. 3.0';
		View::set_global('x', 'Esta e uma variavel global');
		$ko3_inner['content']    = 'Dados(Exemplo)';
		$ko3['content']          = 'Dados2(Exemplo)';
		$this->template->header  = View::factory('blocks/pagina_header', $ko3_inner)
							      ->render();
		$this->template->menu    = View::factory('blocks/menu_formulario')
	    						  ->render();
	    $this->template->footer  = View::factory('blocks/pagina_footer')
	                              ->render();						  
		$this->template->content = View::factory('Formularios/FormularioDeDeficiencia', $ko3)
		->bind('errors', $this->errors)
		->bind('camposDoFormulario', $this->camposDoFormulario)
		->bind('formularioDeDeficiencia', $this->formularioDeDeficiencia);
	}


	public function action_validarForm(){

		$validator = new ValidadorDeFormularioDeDeficiencia();
		$validator->verificarCamposValidos();
		$this->formularioDeDeficiencia = new FormularioDeDeficiencia();
		$acao = $_POST['form_button'];


		if($acao == "Proximo"){
			
			if(!$validator->isFormularioValido()){
				$this->errors = $validator->getErros();
				$this->camposDoFormulario = $validator->getCamposDoFormulario();
				$this->formularioDeDeficiencia->recarregarDadosDoFormulario();
				$this->carregarFormulario();
					
			}
			else{
				
				$deficiencias = array();				
				$deficienciaAuditiva = "";
				if(isset($_POST['deficienciaAuditiva'])){
					$idDeficienciaAuditiva = $_POST['IdDeficienciaAuditiva'];
					$deficienciaAuditiva = $_POST['deficienciaAuditiva'];
					$modalidadeDeficienciaAuditiva = $_POST['auditiva'];
					$outraModalidadeDeficienciaAuditiva = $_POST['auditivaOutra'];
					$observacoesDeficienciaAuditiva = $_POST['observacaoAuditiva'];
					
					
					//Posicao [0] é modalidade e posicao [1] é a dificuldade devido ou grau da deficiência 
					//Verifica se não é "Outra" modalidade, saindo do padrão
					if($modalidadeDeficienciaAuditiva == "outra"){
						$dadosDeficienciaAuditiva = new Deficiencia($deficienciaAuditiva, $modalidadeDeficienciaAuditiva, $outraModalidadeDeficienciaAuditiva, $observacoesDeficienciaAuditiva);
					}
					else{
						$modalidadeEGrau = explode("-", $modalidadeDeficienciaAuditiva);
						$dadosDeficienciaAuditiva = new Deficiencia($deficienciaAuditiva, $modalidadeEGrau[0], $outraModalidadeDeficienciaAuditiva, $observacoesDeficienciaAuditiva);
						$dadosDeficienciaAuditiva->setIntensidadeDaDeficiencia($modalidadeEGrau[1]);					
					}
					/*echo "<br> modalidade = " . $modalidadeDeficienciaAuditiva;					
					echo "<br> modalidade = 2" . $modalidadeEGrau[0];
					print_r($modalidadeEGrau);*/										
					$dadosDeficienciaAuditiva->setIdDeficiencia($idDeficienciaAuditiva);
					$deficiencias[] = serialize($dadosDeficienciaAuditiva);			
				}
				
				$deficienciaFala = "";
				if(isset($_POST['deficienciaFala'])){
					$idDeficienciaFala = $_POST['IdDeficienciaFala'];
					$deficienciaFala = $_POST['deficienciaFala'];
					$modalidadeDeficienciaFala = $_POST['fala'];
					$outraModalidadeDeficienciaFala = $_POST['falaOutra'];
					$observacoesDeficienciaFala = $_POST['observacaoFala'];
					$dadosDeficienciaFala = new Deficiencia($deficienciaFala, $modalidadeDeficienciaFala, $outraModalidadeDeficienciaFala, $observacoesDeficienciaFala);
					$dadosDeficienciaFala->setIdDeficiencia($idDeficienciaFala);
					
					$deficiencias[] = serialize($dadosDeficienciaFala);		
				}
				
				$deficienciaFisica = "";
				if(isset($_POST['deficienciaFisica'])){
					$idDeficienciaFisica = $_POST['IdDeficienciaFisica'];
					$deficienciaFisica = $_POST['deficienciaFisica'];
					$modalidadeDeficienciaFisica = $_POST['fisica'];
					$outraModalidadeDeficienciaFisica = $_POST['fisicaOutra'];
					$observacoesDeficienciaFisica = $_POST['observacaoFisica'];
					$dadosDeficienciaFisica = new Deficiencia($deficienciaFisica, $modalidadeDeficienciaFisica, $outraModalidadeDeficienciaFisica, $observacoesDeficienciaFisica);
					$dadosDeficienciaFisica->setIdDeficiencia($idDeficienciaFisica);
					
					$deficiencias[] = serialize($dadosDeficienciaFisica);
				}
				
				$deficienciaVisual = "";
				if(isset($_POST['deficienciaVisual'])){
					$idDeficienciaVisual = $_POST['IdDeficienciaVisual'];
					$deficienciaVisual = $_POST['deficienciaVisual'];
					$outraModalidadeDeficienciaVisual = $_POST['visualOutra'];
					$observacoesDeficienciaVisual = $_POST['observacaoVisual'];
					
					$modalidadeDeficienciaVisual = $_POST['visual'];
					$deficienciaEGrau = explode("-", $modalidadeDeficienciaVisual);
					
					$modalidadeDeficienciaVisual = "";
					$dificuldadeDevidoDeficienciaVisual = "";		
					
					if(isset($deficienciaEGrau)){
						if(isset($deficienciaEGrau[0]) && $deficienciaEGrau[0] != "") {
							$modalidadeDeficienciaVisual = $deficienciaEGrau[0];
						}
						
						if(isset($deficienciaEGrau[1]) && $deficienciaEGrau[1] != "") {
							$dificuldadeDevidoDeficienciaVisual = $deficienciaEGrau[1];
						}
					}				
					$dadosDeficienciaVisual = new Deficiencia($deficienciaVisual, $modalidadeDeficienciaVisual, $outraModalidadeDeficienciaVisual, $observacoesDeficienciaVisual);
					$dadosDeficienciaVisual->setIntensidadeDaDeficiencia($dificuldadeDevidoDeficienciaVisual);
					$dadosDeficienciaVisual->setIdDeficiencia($idDeficienciaVisual);
					$deficiencias[] = serialize($dadosDeficienciaVisual);
				}
				
				$deficienciaIntelectual = "";
				if(isset($_POST['deficienciaIntelectual'])){
					$idDeficienciaIntelectual = $_POST['IdDeficienciaIntelectual'];
					$deficienciaIntelectual = $_POST['deficienciaIntelectual'];
					$dificuldadesOcorridasDeficienciaIntelectual = null;
					if(isset($_POST['intelectual'])){
						$dificuldadesOcorridasDeficienciaIntelectual = $_POST['intelectual'];
					}
					$outramodalidadeDeDeficienciaSelecionada = "";
					$outraModalidadeDeficienciaIntelectual = "";
					if(isset($_POST['deficienciaIntelectualOutra'])){
						$outramodalidadeDeDeficienciaSelecionada = $_POST['deficienciaIntelectualOutra'];
						$outraModalidadeDeficienciaIntelectual = $_POST['intelectualOutra'];
					}
					$observacoesDeficienciaIntelectual = $_POST['observacaoIntelectual'];
					$dificuldades = array();
					foreach ($dificuldadesOcorridasDeficienciaIntelectual as $dificuldade){
						$dificuldades[] = new DificuldadeDevidoDeficienciaIntelectual($dificuldade);
					}
					
					//TODO ver novo modelo pois o outraModalidadeDeDeficiencia é "acochambramento" para encaixar este caso apenas
					$dadosDeficienciaIntelectual = new Deficiencia($deficienciaIntelectual, null, $outraModalidadeDeficienciaIntelectual, $observacoesDeficienciaIntelectual, $dificuldades);
					$dadosDeficienciaIntelectual->setIdDeficiencia($idDeficienciaIntelectual);
					
					$deficiencias[] = serialize($dadosDeficienciaIntelectual);
				}
				$_SESSION['deficiencia'] = serialize($deficiencias);
				//Indicador de validação do formulário de deficiência para indicar o mesmo ao candidato que 
				//já presencheu este
				//Elemento de visualização que junto ao $_SESSION['pagina_corrente'] define se a página
				//já foi validade e assim aparecerá no menu topo para seleção 
				$_SESSION['deficiencia_validado'] = true;
				echo "<meta http-equiv=Refresh content=0;url=".url::site()."GerenciadorDeEscolaridade>";
			}
		}
		else if($acao == "Voltar"){
			$deficiencias = array();

			$deficienciaAuditiva = "";
			if(isset($_POST['deficienciaAuditiva'])){
				$IdDeficienciaAuditiva = $_POST['IdDeficienciaAuditiva'];
				$deficienciaAuditiva = $_POST['deficienciaAuditiva'];
				$modalidadeDeficienciaAuditiva = $_POST['auditiva'];
				$outraModalidadeDeficienciaAuditiva = $_POST['auditivaOutra'];
				$observacoesDeficienciaAuditiva = $_POST['observacaoAuditiva'];
				$modalidadeEGrau = explode("-", $modalidadeDeficienciaAuditiva);
				$dadosDeficienciaAuditiva = new Deficiencia($deficienciaAuditiva, $modalidadeEGrau[0], $outraModalidadeDeficienciaAuditiva, $observacoesDeficienciaAuditiva);
				$dadosDeficienciaAuditiva->setIntensidadeDaDeficiencia($modalidadeEGrau[1]);
				
				$dadosDeficienciaAuditiva->setIdDeficiencia($IdDeficienciaAuditiva);
				$deficiencias[] = serialize($dadosDeficienciaAuditiva);
			}

			$deficienciaFala = "";
			if(isset($_POST['deficienciaFala'])){
				$idDeficienciaFala = $_POST['IdDeficienciaFala'];
				$deficienciaFala = $_POST['deficienciaFala'];
				$modalidadeDeficienciaFala = $_POST['fala'];
				$outraModalidadeDeficienciaFala = $_POST['falaOutra'];
				$observacoesDeficienciaFala = $_POST['observacaoFala'];
				$dadosDeficienciaFala = new Deficiencia($deficienciaFala, $modalidadeDeficienciaFala, $outraModalidadeDeficienciaFala, $observacoesDeficienciaFala);
				$dadosDeficienciaFala->setIdDeficiencia($idDeficienciaFala);
				
				$deficiencias[] = serialize($dadosDeficienciaFala);
			}

			$deficienciaFisica = "";
			if(isset($_POST['deficienciaFisica'])){
				$idDeficienciaFisica = $_POST['IdDeficienciaFisica'];
				$deficienciaFisica = $_POST['deficienciaFisica'];
				$modalidadeDeficienciaFisica = $_POST['fisica'];
				$outraModalidadeDeficienciaFisica = $_POST['fisicaOutra'];
				$observacoesDeficienciaFisica = $_POST['observacaoFisica'];
				$dadosDeficienciaFisica = new Deficiencia($deficienciaFisica, $modalidadeDeficienciaFisica, $outraModalidadeDeficienciaFisica, $observacoesDeficienciaFisica);
				$dadosDeficienciaFisica->setIdDeficiencia($idDeficienciaFisica);
				$deficiencias[] = serialize($dadosDeficienciaFisica);
				
			}

			$deficienciaVisual = "";
			if(isset($_POST['deficienciaVisual'])){
				$idDeficienciaVisual = $_POST['IdDeficienciaVisual'];
				$deficienciaVisual = $_POST['deficienciaVisual'];
				$outraModalidadeDeficienciaVisual = $_POST['visualOutra'];
				$observacoesDeficienciaVisual = $_POST['observacaoVisual'];
				
				$modalidadeDeficienciaVisual = $_POST['visual'];
				$deficienciaEGrau = explode("-", $modalidadeDeficienciaVisual);
				
				$modalidadeDeficienciaVisual = "";
				$dificuldadeDevidoDeficienciaVisual = "";		
				
				if(isset($deficienciaEGrau)){
					if(isset($deficienciaEGrau[0]) && $deficienciaEGrau[0] != "") {
						$modalidadeDeficienciaVisual = $deficienciaEGrau[0];
					}
					
					if(isset($deficienciaEGrau[1]) && $deficienciaEGrau[1] != "") {
						$dificuldadeDevidoDeficienciaVisual = $deficienciaEGrau[1];
					}
				}						
				$dadosDeficienciaVisual = new Deficiencia($deficienciaVisual, $modalidadeDeficienciaVisual, $outraModalidadeDeficienciaVisual, $observacoesDeficienciaVisual);
				$dadosDeficienciaVisual->setIntensidadeDaDeficiencia($dificuldadeDevidoDeficienciaVisual);
				$dadosDeficienciaVisual->setIdDeficiencia($idDeficienciaVisual);
				$deficiencias[] = serialize($dadosDeficienciaVisual);
			}

			$deficienciaIntelectual = "";
			if(isset($_POST['deficienciaIntelectual'])){
				$idDeficienciaIntelectual = $_POST['IdDeficienciaIntelectual'];
				$deficienciaIntelectual = $_POST['deficienciaIntelectual'];
				$dificuldadesOcorridasDeficienciaIntelectual = null;
				if(isset($_POST['intelectual'])){
					$dificuldadesOcorridasDeficienciaIntelectual = $_POST['intelectual'];
				}
				$outramodalidadeDeDeficienciaSelecionada = "";
				$outraModalidadeDeficienciaIntelectual = "";
				if(isset($_POST['deficienciaIntelectualOutra'])){
					$outramodalidadeDeDeficienciaSelecionada = $_POST['deficienciaIntelectualOutra'];
					$outraModalidadeDeficienciaIntelectual = $_POST['intelectualOutra'];
				}
				$observacoesDeficienciaIntelectual = $_POST['observacaoIntelectual'];

				$dificuldades = array();
				foreach ($dificuldadesOcorridasDeficienciaIntelectual as $dificuldade){
					$dificuldades[] = new DificuldadeDevidoDeficienciaIntelectual($dificuldade);
				}
				
				$dadosDeficienciaIntelectual = new Deficiencia($deficienciaIntelectual, null, $outraModalidadeDeficienciaIntelectual, $observacoesDeficienciaIntelectual, $dificuldades);
				$dadosDeficienciaIntelectual->setIdDeficiencia($idDeficienciaIntelectual);
				$deficiencias[] = serialize($dadosDeficienciaIntelectual);
			}
			$_SESSION['deficiencia'] = serialize($deficiencias);

			echo "<meta http-equiv=Refresh content=0;url=".url::site()."GerenciadorDeEndereco>";
		}

	}
}

?>